﻿﻿using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace Fcdbas.Biz
{
    /// <summary>LU=FndTableDefined^PROMPT=Fnd Table Defined^MODULE=FCDBAS^VIEW=FND_TABLE_DEFINED^PACKAGE=FndTableDefinedApi^</summary>
    [Serializable]
    [DataObject]
    [Description("LU=FndTableDefined^PROMPT=Fnd Table Defined^MODULE=FCDBAS^VIEW=FND_TABLE_DEFINED^PACKAGE=FndTableDefinedApi^")]
    public partial class fnd_table_defined
    {
        #region 属性
        private String _table_name;
        /// <summary>FLAGS=KMI-L^DATATYPE=STRING(40)/UPPERCASE^PROMPT=Table Name^</summary>
        [DisplayName("FLAGS=KMI-L^DATATYPE=STRING40_UPPERCASE^PROMPT=TableName^")]
        [Description("FLAGS=KMI-L^DATATYPE=STRING(40)/UPPERCASE^PROMPT=Table Name^")]
        [DataObjectField(true, false, false, 40)]
        public String table_name { get { return _table_name; } set { _table_name = value; } }

        private String _lu_name;
        /// <summary>FLAGS=AMIU-^DATATYPE=STRING(35)^PROMPT=Lu Name^</summary>
        [DisplayName("FLAGS=AMIU-^DATATYPE=STRING35^PROMPT=LuName^")]
        [Description("FLAGS=AMIU-^DATATYPE=STRING(35)^PROMPT=Lu Name^")]
        [DataObjectField(false, false, false, 35)]
        public String lu_name { get { return _lu_name; } set { _lu_name = value; } }

        private String _view_name;
        /// <summary>FLAGS=A-IU-^DATATYPE=STRING(35)/UPPERCASE^PROMPT=View Name^</summary>
        [DisplayName("FLAGS=A-IU-^DATATYPE=STRING35_UPPERCASE^PROMPT=ViewName^")]
        [Description("FLAGS=A-IU-^DATATYPE=STRING(35)/UPPERCASE^PROMPT=View Name^")]
        [DataObjectField(false, false, true, 35)]
        public String view_name { get { return _view_name; } set { _view_name = value; } }

        private String _prompt;
        /// <summary>FLAGS=A-IU-^DATATYPE=STRING(50)^PROMPT=Prompt^</summary>
        [DisplayName("FLAGS=A-IU-^DATATYPE=STRING50^PROMPT=Prompt^")]
        [Description("FLAGS=A-IU-^DATATYPE=STRING(50)^PROMPT=Prompt^")]
        [DataObjectField(false, false, true, 50)]
        public String prompt { get { return _prompt; } set { _prompt = value; } }

        private String _module;
        /// <summary>FLAGS=A-IU-^DATATYPE=STRING(10)/UPPERCASE^PROMPT=Module^</summary>
        [DisplayName("FLAGS=A-IU-^DATATYPE=STRING10_UPPERCASE^PROMPT=Module^")]
        [Description("FLAGS=A-IU-^DATATYPE=STRING(10)/UPPERCASE^PROMPT=Module^")]
        [DataObjectField(false, false, true, 10)]
        public String module { get { return _module; } set { _module = value; } }

        private String _package;
        /// <summary>FLAGS=A-IU-^DATATYPE=STRING(35)^PROMPT=Package^</summary>
        [DisplayName("FLAGS=A-IU-^DATATYPE=STRING35^PROMPT=Package^")]
        [Description("FLAGS=A-IU-^DATATYPE=STRING(35)^PROMPT=Package^")]
        [DataObjectField(false, false, true, 35)]
        public String package { get { return _package; } set { _package = value; } }

        private String _comment;
        /// <summary>FLAGS=A-IU-^DATATYPE=STRING(2000)^PROMPT=Comment^</summary>
        [DisplayName("FLAGS=A-IU-^DATATYPE=STRING2000^PROMPT=Comment^")]
        [Description("FLAGS=A-IU-^DATATYPE=STRING(2000)^PROMPT=Comment^")]
        [DataObjectField(false, false, true, 2000)]
        public String comment { get { return _comment; } set { _comment = value; } }

        private String _objid;
        /// <summary></summary>
        [DisplayName("objid")]
        [Description("")]
        [DataObjectField(false, false, false, 50)]
        public String objid { get { return _objid; } set { _objid = value; } }

        private DateTime _objversion;
        /// <summary></summary>
        [DisplayName("objversion")]
        [Description("")]
        [DataObjectField(false, false, false, 0)]
        public DateTime objversion { get { return _objversion; } set { _objversion = value; } }
		#endregion

        #region 获取/设置 字段值
        /// <summary>
        /// 获取/设置 字段值。
        /// 一个索引，基类使用反射实现。
        /// 派生实体类可重写该索引，以避免反射带来的性能损耗
        /// </summary>
        /// <param name="name">字段名</param>
        /// <returns></returns>
        public Object this[String name]
        {
            get
            {
                switch (name)
                {
                    case "table_name" : return _table_name;
                    case "lu_name" : return _lu_name;
                    case "view_name" : return _view_name;
                    case "prompt" : return _prompt;
                    case "module" : return _module;
                    case "package" : return _package;
                    case "comment" : return _comment;
                    case "objid" : return _objid;
                    case "objversion" : return _objversion;
                    default: return null;
                }
            }
            set
            {
                switch (name)
                {
                    case "table_name" : _table_name = Convert.ToString(value); break;
                    case "lu_name" : _lu_name = Convert.ToString(value); break;
                    case "view_name" : _view_name = Convert.ToString(value); break;
                    case "prompt" : _prompt = Convert.ToString(value); break;
                    case "module" : _module = Convert.ToString(value); break;
                    case "package" : _package = Convert.ToString(value); break;
                    case "comment" : _comment = Convert.ToString(value); break;
                    case "objid" : _objid = Convert.ToString(value); break;
                    case "objversion" : _objversion = Convert.ToDateTime(value); break;
                }
            }
        }
        #endregion
    }
}